package org.apache.ibatis.common.type;

/**
 * @Name ByteArrayUtils
 * @Description: 字节数组工具类
 * @Version v1.0.0
 * @Author: lichao
 * @Date: 2024-05-09 16:49:33
 **/
public class ByteArrayUtils {
    private ByteArrayUtils() {
    }

    /**
     * 将 Byte 包装类型的字节对象数组转换为基础 byte 类型的字节数组
     *
     * @param objects Byte 包装类型的字节对象数组
     * @return byte[] 基础 byte 类型的字节数组
     * @version v1.0.0
     * @author lichao
     * @date 2024-05-09 16:52:07
     */
    static byte[] convertToPrimitiveArray(Byte[] objects) {
        final byte[] bytes = new byte[objects.length];
        for (int i = 0; i < objects.length; i++) {
            bytes[i] = objects[i];
        }
        return bytes;
    }

    /**
     * 将基础 byte 类型的字节数组转化为 Byte 包装类型的字节对象数组
     *
     * @param bytes 基础 byte 类型的字节数组
     * @return java.lang.Byte[] Byte 包装类型的字节对象数组
     * @version v1.0.0
     * @author lichao
     * @date 2024-05-09 16:53:00
     */
    static Byte[] convertToObjectArray(byte[] bytes) {
        final Byte[] objects = new Byte[bytes.length];
        for (int i = 0; i < bytes.length; i++) {
            objects[i] = bytes[i];
        }
        return objects;
    }
}

